{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-ui-web",
      "artifactVersion": "7.10-HF07",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.admin.center",
          "org.nuxeo.admin.center.analytics.dashboards",
          "org.nuxeo.admin.center.monitoring",
          "org.nuxeo.admin.center.oauth.opensocial",
          "org.nuxeo.apidoc.core",
          "org.nuxeo.apidoc.webengine",
          "org.nuxeo.connect.client.wrapper",
          "org.nuxeo.connect.update",
          "org.nuxeo.ecm.actions",
          "org.nuxeo.ecm.actions.jsf",
          "org.nuxeo.ecm.audit.io",
          "org.nuxeo.ecm.default.config",
          "org.nuxeo.ecm.imaging.recompute",
          "org.nuxeo.ecm.permissions",
          "org.nuxeo.ecm.platform",
          "org.nuxeo.ecm.platform.api",
          "org.nuxeo.ecm.platform.audio.core",
          "org.nuxeo.ecm.platform.audio.jsf",
          "org.nuxeo.ecm.platform.collections.core",
          "org.nuxeo.ecm.platform.collections.jsf",
          "org.nuxeo.ecm.platform.commandline.executor",
          "org.nuxeo.ecm.platform.content.template",
          "org.nuxeo.ecm.platform.contentview.jsf",
          "org.nuxeo.ecm.platform.convert",
          "org.nuxeo.ecm.platform.dublincore",
          "org.nuxeo.ecm.platform.el",
          "org.nuxeo.ecm.platform.htmlsanitizer",
          "org.nuxeo.ecm.platform.importer.core",
          "org.nuxeo.ecm.platform.importer.jaxrs",
          "org.nuxeo.ecm.platform.lang",
          "org.nuxeo.ecm.platform.login",
          "org.nuxeo.ecm.platform.login.cas2",
          "org.nuxeo.ecm.platform.login.default",
          "org.nuxeo.ecm.platform.login.digest",
          "org.nuxeo.ecm.platform.login.shibboleth",
          "org.nuxeo.ecm.platform.login.token",
          "org.nuxeo.ecm.platform.mail",
          "org.nuxeo.ecm.platform.mail.types",
          "org.nuxeo.ecm.platform.mail.web",
          "org.nuxeo.ecm.platform.oauth",
          "org.nuxeo.ecm.platform.preview",
          "org.nuxeo.ecm.platform.rendering",
          "org.nuxeo.ecm.platform.restapi.io",
          "org.nuxeo.ecm.platform.restapi.server",
          "org.nuxeo.ecm.platform.spreadsheet",
          "org.nuxeo.ecm.platform.suggestbox.core",
          "org.nuxeo.ecm.platform.suggestbox.jsf",
          "org.nuxeo.ecm.platform.thumbnail",
          "org.nuxeo.ecm.platform.ui",
          "org.nuxeo.ecm.platform.ui.select2",
          "org.nuxeo.ecm.platform.uidgen.core",
          "org.nuxeo.ecm.platform.web.common",
          "org.nuxeo.ecm.platform.webapp.types",
          "org.nuxeo.ecm.platform.ws",
          "org.nuxeo.ecm.platform.ws.sun.jaxws",
          "org.nuxeo.ecm.user.center",
          "org.nuxeo.ecm.user.center.dashboard",
          "org.nuxeo.ecm.user.center.dashboard.jsf",
          "org.nuxeo.ecm.user.center.notification",
          "org.nuxeo.ecm.user.center.oauth",
          "org.nuxeo.ecm.user.center.profile",
          "org.nuxeo.ecm.user.invite",
          "org.nuxeo.ecm.user.registration",
          "org.nuxeo.ecm.user.registration.web",
          "org.nuxeo.ecm.webapp.base",
          "org.nuxeo.ecm.webapp.core",
          "org.nuxeo.ecm.webapp.ui",
          "org.nuxeo.ecm.webdav",
          "org.nuxeo.platform.virtualnavigation.types",
          "org.nuxeo.platform.virtualnavigation.web",
          "org.nuxeo.search.ui",
          "org.nuxeo.usermapper"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform",
        "id": "grp:org.nuxeo.ecm.platform",
        "name": "org.nuxeo.ecm.platform",
        "parentIds": [],
        "readmes": [],
        "version": "7.10"
      },
      "bundleId": "org.nuxeo.ecm.platform.ui",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.tag.fn.cache/Contributions/org.nuxeo.ecm.platform.ui.web.tag.fn.cache--caches",
              "id": "org.nuxeo.ecm.platform.ui.web.tag.fn.cache--caches",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n  \n    <cache class=\"org.nuxeo.ecm.core.cache.InMemoryCacheImpl\" name=\"userDisplayName\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>30</ttl>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.tag.fn.cache",
          "name": "org.nuxeo.ecm.platform.ui.web.tag.fn.cache",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.tag.fn.cache\">\n  \n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\" point=\"caches\">\n  \n    <cache name=\"userDisplayName\" class=\"org.nuxeo.ecm.core.cache.InMemoryCacheImpl\">\n      <option name=\"maxSize\">1000</option>\n      <option name=\"concurrencyLevel\">10</option>\n      <ttl>30</ttl>\n    </cache>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/username-cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Core IO registered marshallers set.\n  \n",
          "documentationHtml": "<p>\nCore IO registered marshallers set.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.io.MarshallerRegistry--marshallers",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.marshallers/Contributions/org.nuxeo.ecm.platform.ui.web.marshallers--marshallers",
              "id": "org.nuxeo.ecm.platform.ui.web.marshallers--marshallers",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.io.MarshallerRegistry",
                "name": "org.nuxeo.ecm.core.io.MarshallerRegistry",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"marshallers\" target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\">\n    <!-- thumbnail document enricher -->\n    <register class=\"org.nuxeo.ecm.platform.ui.web.io.ThumbnailJsonEnricher\" enable=\"true\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.marshallers",
          "name": "org.nuxeo.ecm.platform.ui.web.marshallers",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.marshallers\" version=\"1.0.0\">\n  <documentation>\n    Core IO registered marshallers set.\n  </documentation>\n  <extension target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\" point=\"marshallers\">\n    <!-- thumbnail document enricher -->\n    <register class=\"org.nuxeo.ecm.platform.ui.web.io.ThumbnailJsonEnricher\" enable=\"true\" />\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/marshallers-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.ui.web.rest.services.URLServiceComponent",
          "documentation": "\n    The URL service provides extension points for url generation and related\n    actions.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe URL service provides extension points for url generation and related\nactions.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
              "descriptors": [
                "org.nuxeo.ecm.platform.ui.web.rest.descriptors.URLPatternDescriptor"
              ],
              "documentation": "\n      URL patterns are used on the web layer to perform actions when a url is\n      entered, and to rewrite urls after a post.\n\n      They are designed to use a given codec.\n    \n",
              "documentationHtml": "<p>\nURL patterns are used on the web layer to perform actions when a url is\nentered, and to rewrite urls after a post.\n</p><p>\nThey are designed to use a given codec.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService/ExtensionPoints/org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "id": "org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "label": "urlpatterns (org.nuxeo.ecm.platform.ui.web.rest.URLService)",
              "name": "urlpatterns",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.EventService--listeners",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService/Contributions/org.nuxeo.ecm.platform.ui.web.rest.URLService--listeners",
              "id": "org.nuxeo.ecm.platform.ui.web.rest.URLService--listeners",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.EventService",
                "name": "org.nuxeo.runtime.EventService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listeners\" target=\"org.nuxeo.runtime.EventService\">\n    <listener class=\"org.nuxeo.ecm.platform.ui.web.rest.services.URLPolicyServiceCacheFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService",
          "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService/Services/org.nuxeo.ecm.platform.ui.web.rest.api.URLPolicyService",
              "id": "org.nuxeo.ecm.platform.ui.web.rest.api.URLPolicyService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\">\n\n  <documentation>\n    The URL service provides extension points for url generation and related\n    actions.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  </documentation>\n\n  <implementation\n    class=\"org.nuxeo.ecm.platform.ui.web.rest.services.URLServiceComponent\" />\n\n  <service>\n    <provide\n      interface=\"org.nuxeo.ecm.platform.ui.web.rest.api.URLPolicyService\" />\n  </service>\n\n  <extension-point name=\"urlpatterns\">\n    <documentation>\n      URL patterns are used on the web layer to perform actions when a url is\n      entered, and to rewrite urls after a post.\n\n      They are designed to use a given codec.\n    </documentation>\n    <object\n      class=\"org.nuxeo.ecm.platform.ui.web.rest.descriptors.URLPatternDescriptor\" />\n  </extension-point>\n\n  <extension target=\"org.nuxeo.runtime.EventService\" point=\"listeners\">\n    <listener\n      class=\"org.nuxeo.ecm.platform.ui.web.rest.services.URLPolicyServiceCacheFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/urlservice-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      This contribution is the default contribution for JSF configurations.\n\n      Here are more details about some of them:\n      <ul>\n    <li>\n        <strong>nuxeo.jsf.enableDoubleClickShield</strong>: enables a shield on forms to prevent users from\n          submitting twice the same form (accidental double-click).\n        </li>\n    <li>\n\n        <strong>nuxeo.jsf.defaultBytePrefixFormat</strong>: defines the default byte prefix format used by the\n          printFileSize JSF function, that displays a pretty print of the size of a file. Available formats are \"SI\",\n          \"IEC\" or \"JEDEC\". See <a\n            href=\"http://en.wikipedia.org/wiki/Byte\" target=\"_blank\">the Wikipedia article on\n          Byte</a> for more information on those formats.\n        </li>\n</ul>\n\n\n      @since 7.4\n    \n",
              "documentationHtml": "<p>\nThis contribution is the default contribution for JSF configurations.\n</p><p>\nHere are more details about some of them:\n</p><ul><li>\n<strong>nuxeo.jsf.enableDoubleClickShield</strong>: enables a shield on forms to prevent users from\nsubmitting twice the same form (accidental double-click).\n</li><li>\n<p>\n<strong>nuxeo.jsf.defaultBytePrefixFormat</strong>: defines the default byte prefix format used by the\nprintFileSize JSF function, that displays a pretty print of the size of a file. Available formats are &#34;SI&#34;,\n&#34;IEC&#34; or &#34;JEDEC&#34;. See <a href=\"http://en.wikipedia.org/wiki/Byte\" target=\"_blank\" rel=\"noopener noreferrer\">the Wikipedia article on\nByte</a> for more information on those formats.\n</p></li></ul>\n<p>\n&#64;since 7.4\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.configuration.default/Contributions/org.nuxeo.ecm.platform.ui.web.configuration.default--configuration",
              "id": "org.nuxeo.ecm.platform.ui.web.configuration.default--configuration",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n\n    <documentation>\n      This contribution is the default contribution for JSF configurations.\n\n      Here are more details about some of them:\n      <ul>\n        <li>\n          <strong>nuxeo.jsf.enableDoubleClickShield</strong>: enables a shield on forms to prevent users from\n          submitting twice the same form (accidental double-click).\n        </li>\n        <li>\n          <strong>nuxeo.jsf.defaultBytePrefixFormat</strong>: defines the default byte prefix format used by the\n          printFileSize JSF function, that displays a pretty print of the size of a file. Available formats are \"SI\",\n          \"IEC\" or \"JEDEC\". See <a href=\"http://en.wikipedia.org/wiki/Byte\" target=\"_blank\">the Wikipedia article on\n          Byte</a> for more information on those formats.\n        </li>\n      </ul>\n\n      @since 7.4\n    </documentation>\n\n    <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n    <property name=\"nuxeo.jsf.defaultBytePrefixFormat\">SI</property>\n    <property name=\"nuxeo.jsf.removeAliasOptims\">false</property>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.configuration.default",
          "name": "org.nuxeo.ecm.platform.ui.web.configuration.default",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.platform.ui.web.configuration.default\">\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n\n    <documentation>\n      This contribution is the default contribution for JSF configurations.\n\n      Here are more details about some of them:\n      <ul>\n        <li>\n          <strong>nuxeo.jsf.enableDoubleClickShield</strong>: enables a shield on forms to prevent users from\n          submitting twice the same form (accidental double-click).\n        </li>\n        <li>\n          <strong>nuxeo.jsf.defaultBytePrefixFormat</strong>: defines the default byte prefix format used by the\n          printFileSize JSF function, that displays a pretty print of the size of a file. Available formats are \"SI\",\n          \"IEC\" or \"JEDEC\". See <a href=\"http://en.wikipedia.org/wiki/Byte\" target=\"_blank\">the Wikipedia article on\n          Byte</a> for more information on those formats.\n        </li>\n      </ul>\n\n      @since 7.4\n    </documentation>\n\n    <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n    <property name=\"nuxeo.jsf.defaultBytePrefixFormat\">SI</property>\n    <property name=\"nuxeo.jsf.removeAliasOptims\">false</property>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/jsfconfiguration-properties.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl--plugins",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.htmleditor.contrib/Contributions/org.nuxeo.ecm.platform.ui.web.htmleditor.contrib--plugins",
              "id": "org.nuxeo.ecm.platform.ui.web.htmleditor.contrib--plugins",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
                "name": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"plugins\" target=\"org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl\">\n\n   <htmlEditorPlugin pluginButtonName=\"nuxeolink\" pluginName=\"nuxeolink\" toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n   <htmlEditorPlugin pluginButtonName=\"nuxeoimageupload\" pluginName=\"nuxeoimageupload\" toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n   <htmlEditorPlugin pluginButtonName=\"fullscreen\" pluginName=\"fullscreen\" toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.htmleditor.contrib",
          "name": "org.nuxeo.ecm.platform.ui.web.htmleditor.contrib",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.htmleditor.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl\"\n      point=\"plugins\">\n\n   <htmlEditorPlugin\n           pluginName=\"nuxeolink\"\n           pluginButtonName=\"nuxeolink\"\n           toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n   <htmlEditorPlugin\n           pluginName=\"nuxeoimageupload\"\n           pluginButtonName=\"nuxeoimageupload\"\n           toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n   <htmlEditorPlugin\n           pluginName=\"fullscreen\"\n           pluginButtonName=\"fullscreen\"\n           toolbarName=\"theme_advanced_buttons3_add\">\n   </htmlEditorPlugin>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/htmleditor-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentation": "\n    Contributions for basic rest navigation through the application.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nContributions for basic rest navigation through the application.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Basic url pattern using the doc id codec: it places the application in the\n      document context described by the url and sets current tabs.\n\n      Additional url pattern using the doc path codec.\n    \n",
              "documentationHtml": "<p>\nBasic url pattern using the doc id codec: it places the application in the\ndocument context described by the url and sets current tabs.\n</p><p>\nAdditional url pattern using the doc path codec.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib/Contributions/org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib--urlpatterns",
              "id": "org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib--urlpatterns",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"urlpatterns\" target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\">\n\n    <documentation>\n      Basic url pattern using the doc id codec: it places the application in the\n      document context described by the url and sets current tabs.\n\n      Additional url pattern using the doc path codec.\n    </documentation>\n\n    <urlPattern enabled=\"true\" name=\"id\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docid</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding callGetter=\"false\" name=\"tabId\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding callGetter=\"false\" name=\"subTabId\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding callGetter=\"false\" name=\"language\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n    <urlPattern enabled=\"true\" name=\"default\">\n      <defaultURLPolicy>true</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpath</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding callGetter=\"false\" name=\"tabId\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding callGetter=\"false\" name=\"subTabId\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding callGetter=\"false\" name=\"language\">\n          #{restHelper.localeString}\n        </binding>\n        <binding callGetter=\"false\" name=\"mainTabId\">\n          #{webActions.currentTabIds}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib",
          "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.rest.URLService.contrib\">\n  <documentation>\n    Contributions for basic rest navigation through the application.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  </documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\"\n    point=\"urlpatterns\">\n\n    <documentation>\n      Basic url pattern using the doc id codec: it places the application in the\n      document context described by the url and sets current tabs.\n\n      Additional url pattern using the doc path codec.\n    </documentation>\n\n    <urlPattern name=\"id\" enabled=\"true\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docid</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding name=\"tabId\" callGetter=\"false\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding name=\"subTabId\" callGetter=\"false\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding name=\"language\" callGetter=\"false\">\n          #{restHelper.localeString}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n    <urlPattern name=\"default\" enabled=\"true\">\n      <defaultURLPolicy>true</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>true</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>docpath</codecName>\n      <actionBinding>#{restHelper.initContextFromRestRequest}</actionBinding>\n      <documentViewBinding>#{restHelper.documentView}</documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n      <bindings>\n        <binding name=\"tabId\" callGetter=\"false\">\n          #{webActions.currentTabId}\n        </binding>\n        <binding name=\"subTabId\" callGetter=\"false\">\n          #{webActions.currentSubTabId}\n        </binding>\n        <binding name=\"tabIds\">#{webActions.currentTabIds}</binding>\n        <binding name=\"language\" callGetter=\"false\">\n          #{restHelper.localeString}\n        </binding>\n        <binding name=\"mainTabId\" callGetter=\"false\">\n          #{webActions.currentTabIds}\n        </binding>\n      </bindings>\n    </urlPattern>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/urlservice-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
          "documentation": "\n    Registry for JSF File Uploaders.\n  \n",
          "documentationHtml": "<p>\nRegistry for JSF File Uploaders.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
              "descriptors": [
                "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderDescriptor"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService/ExtensionPoints/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService--uploader",
              "id": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService--uploader",
              "label": "uploader (org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService)",
              "name": "uploader",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService--uploader",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService/Contributions/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService--uploader",
              "id": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService--uploader",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
                "name": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"uploader\" target=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService\">\n    <uploader class=\"org.nuxeo.ecm.platform.ui.web.component.file.HTMLBlobUploader\" id=\"HTML\" order=\"10\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
          "name": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService/Services/org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
              "id": "org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService\" version=\"1.0.0\">\n\n  <documentation>\n    Registry for JSF File Uploaders.\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService\" />\n  </service>\n\n  <extension-point name=\"uploader\">\n    <object class=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderDescriptor\" />\n  </extension-point>\n\n  <!-- register the default one -->\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.component.file.JSFBlobUploaderService\" point=\"uploader\">\n    <uploader id=\"HTML\" order=\"10\" class=\"org.nuxeo.ecm.platform.ui.web.component.file.HTMLBlobUploader\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/jsfblobuploader-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.ui.web.seamremoting.SeamRemotingJSBuilderComponent",
          "documentation": "\n      Manages Seam components that have a JS remoting interface that must be automatically included in default Nuxeo Pages.\n    @author Thierry Delprat (td@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nManages Seam components that have a JS remoting interface that must be automatically included in default Nuxeo Pages.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
              "descriptors": [
                "org.nuxeo.ecm.platform.ui.web.seamremoting.RemotableSeamBeansDescriptor"
              ],
              "documentation": "\n      @author Thierry Delprat (td@nuxeo.com)\n      Registers JS Remotable Seam Beans by their names\n    \n",
              "documentationHtml": "<p>\nRegisters JS Remotable Seam Beans by their names\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent/ExtensionPoints/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent--remotableSeamBeans",
              "id": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent--remotableSeamBeans",
              "label": "remotableSeamBeans (org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent)",
              "name": "remotableSeamBeans",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
          "name": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent/Services/org.nuxeo.ecm.platform.ui.web.seamremoting.SeamRemotingJSBuilderService",
              "id": "org.nuxeo.ecm.platform.ui.web.seamremoting.SeamRemotingJSBuilderService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent\">\n\n  <implementation\n      class=\"org.nuxeo.ecm.platform.ui.web.seamremoting.SeamRemotingJSBuilderComponent\"/>\n\n  <documentation>\n      Manages Seam components that have a JS remoting interface that must be automatically included in default Nuxeo Pages.\n    @author Thierry Delprat (td@nuxeo.com)\n  </documentation>\n\n  <service>\n    <provide\n        interface=\"org.nuxeo.ecm.platform.ui.web.seamremoting.SeamRemotingJSBuilderService\"/>\n  </service>\n\n  <extension-point name=\"remotableSeamBeans\">\n    <documentation>\n      @author Thierry Delprat (td@nuxeo.com)\n      Registers JS Remotable Seam Beans by their names\n    </documentation>\n    <object\n        class=\"org.nuxeo.ecm.platform.ui.web.seamremoting.RemotableSeamBeansDescriptor\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/seamremotingjsbuilder-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
          "documentation": "\n    The Pluggable Restlet service provides extension point to register new Restlets and\n    handle their configuration (Seam or Conversation usage).\n    @author Thierry Delprat (td@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe Pluggable Restlet service provides extension point to register new Restlets and\nhandle their configuration (Seam or Conversation usage).\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
              "descriptors": [
                "org.nuxeo.ecm.platform.ui.web.restAPI.service.RestletPluginDescriptor"
              ],
              "documentation": "\n\n      @author Thierry Delprat (td@nuxeo.com)\n      This extension point lets you contribute new Restlets: ie, new REST API executor.\n      Sample contribution:\n      <restletPlugin\n    class=\"implementation class, you can use BaseNuxeoRestlet as a base clas\"\n    enabled=\"true\" name=\"name of the restlet\"\n    useConversation=\"true/false : indicate if Seam conversation must be restored\" useSeam=\"true/false : indicate if Seam components will be used\">\n    <urlPatterns>\n        <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>\n    </urlPatterns>\n</restletPlugin>\n",
              "documentationHtml": "<p>\nThis extension point lets you contribute new Restlets: ie, new REST API executor.\nSample contribution:\n\n\n/{repo}/{docid}/pluginUpload\n\n</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService/ExtensionPoints/org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService--restlets",
              "id": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService--restlets",
              "label": "restlets (org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService)",
              "name": "restlets",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
          "name": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\">\n\n  <implementation\n      class=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\"/>\n\n  <documentation>\n    The Pluggable Restlet service provides extension point to register new Restlets and\n    handle their configuration (Seam or Conversation usage).\n    @author Thierry Delprat (td@nuxeo.com)\n  </documentation>\n\n  <extension-point name=\"restlets\">\n    <documentation>\n      @author Thierry Delprat (td@nuxeo.com)\n      This extension point lets you contribute new Restlets: ie, new REST API executor.\n      Sample contribution:\n      <restletPlugin\n          name=\"name of the restlet\"\n          class=\"implementation class, you can use BaseNuxeoRestlet as a base clas\"\n          enabled=\"true\"\n          useSeam=\"true/false : indicate if Seam components will be used\"\n          useConversation=\"true/false : indicate if Seam conversation must be restored\">\n        <urlPatterns>\n          <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>\n        </urlPatterns>\n      </restletPlugin>\n    </documentation>\n\n    <object\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.RestletPluginDescriptor\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/restAPI-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
          "documentation": "\n    The HTMLEditorPLuginService provide extension points to configure TinyMCE in Nuxeo.\n    @author Thomas Roger (troger@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe HTMLEditorPLuginService provide extension points to configure TinyMCE in Nuxeo.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
              "descriptors": [
                "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginDescriptor"
              ],
              "documentation": "\n\n      @author Thomas Roger(troger@nuxeo.com)\n      This extension point let you contribute new plugins to TinyMCE.\n      Sample contribution :\n      <htmlEditorPlugin\n    pluginButtonName=\"name of the plugin's button\"\n    pluginName=\"name of the plugin\" toolbarName=\"toolbar where to put the button\"/>\n",
              "documentationHtml": "<p>\nThis extension point let you contribute new plugins to TinyMCE.\nSample contribution :\n</p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl/ExtensionPoints/org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl--plugins",
              "id": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl--plugins",
              "label": "plugins (org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl)",
              "name": "plugins",
              "version": "7.10-HF07"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
          "name": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl/Services/org.nuxeo.ecm.platform.ui.web.htmleditor.api.HtmlEditorPluginService",
              "id": "org.nuxeo.ecm.platform.ui.web.htmleditor.api.HtmlEditorPluginService",
              "overriden": false,
              "version": "7.10-HF07"
            }
          ],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl\">\n\n  <documentation>\n    The HTMLEditorPLuginService provide extension points to configure TinyMCE in Nuxeo.\n    @author Thomas Roger (troger@nuxeo.com)\n  </documentation>\n\n  <service>\n    <provide\n        interface=\"org.nuxeo.ecm.platform.ui.web.htmleditor.api.HtmlEditorPluginService\"/>\n  </service>\n\n  <implementation\n      class=\"org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginServiceImpl\"/>\n\n  <extension-point name=\"plugins\">\n    <documentation>\n      @author Thomas Roger(troger@nuxeo.com)\n      This extension point let you contribute new plugins to TinyMCE.\n      Sample contribution :\n      <htmlEditorPlugin\n          pluginName=\"name of the plugin\"\n          pluginButtonName=\"name of the plugin's button\"\n          toolbarName=\"toolbar where to put the button\">\n      </htmlEditorPlugin>\n    </documentation>\n\n    <object\n        class=\"org.nuxeo.ecm.platform.ui.web.htmleditor.service.HtmlEditorPluginDescriptor\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/htmleditor-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--sessionManager",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.auth.JSFConfig/Contributions/org.nuxeo.ecm.platform.ui.web.auth.JSFConfig--sessionManager",
              "id": "org.nuxeo.ecm.platform.ui.web.auth.JSFConfig--sessionManager",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"sessionManager\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n\n    <sessionManager class=\"org.nuxeo.ecm.platform.ui.web.auth.plugins.SeamJsfSessionManager\" enabled=\"true\" name=\"SeamJsf\">\n    </sessionManager>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--openUrl",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.auth.JSFConfig/Contributions/org.nuxeo.ecm.platform.ui.web.auth.JSFConfig--openUrl",
              "id": "org.nuxeo.ecm.platform.ui.web.auth.JSFConfig--openUrl",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"openUrl\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n    <openUrl name=\"SystemLogRestlet\">\n      <grantPattern>/nuxeo/restAPI/systemLog</grantPattern>\n    </openUrl>\n    <openUrl name=\"SeamRemotingInterfaceResources\">\n      <grantPattern>/nuxeo/seam/resource/remoting/interface.js.*</grantPattern>\n    </openUrl>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.auth.JSFConfig",
          "name": "org.nuxeo.ecm.platform.ui.web.auth.JSFConfig",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.auth.JSFConfig\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"sessionManager\">\n\n    <sessionManager name=\"SeamJsf\" enabled=\"true\"\n      class=\"org.nuxeo.ecm.platform.ui.web.auth.plugins.SeamJsfSessionManager\">\n    </sessionManager>\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"openUrl\">\n    <openUrl name=\"SystemLogRestlet\">\n      <grantPattern>${org.nuxeo.ecm.contextPath}/restAPI/systemLog</grantPattern>\n    </openUrl>\n    <openUrl name=\"SeamRemotingInterfaceResources\">\n      <grantPattern>${org.nuxeo.ecm.contextPath}/seam/resource/remoting/interface.js.*</grantPattern>\n    </openUrl>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/authentication-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Create a File document via upload\n      POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload\n    \n",
              "documentationHtml": "<p>\nCreate a File document via upload\nPOST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService--restlets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.restAPI.contrib/Contributions/org.nuxeo.ecm.platform.ui.web.restAPI.contrib--restlets",
              "id": "org.nuxeo.ecm.platform.ui.web.restAPI.contrib--restlets",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
                "name": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"restlets\" target=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\">\n\n    <documentation>\n      Create a File document via upload\n      POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UploadRestlet\" enabled=\"true\" name=\"upload\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/{filename}/upload</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Restlet for uploading a file via the Plugin (linked to FileManager)\n      (ie create a document from a file)\n      POST /nuxeo/restAPI/{repoId}/{docId}/pluginUpload/{path}\n      POST /nuxeo/restAPI/{repoId}/{docId}/createFromFile/{path}\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.PluginUploadRestlet\" enabled=\"true\" name=\"pluginUpload\" useConversation=\"true\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>\n        <urlPattern>/{repo}/{docid}/createFromFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Simple restlet to browse content\n      GET /nuxeo/restAPI/browse\n      GET /nuxeo/restAPI/{repoId}/browse\n      GET /nuxeo/restAPI/{repoId}/{docId}/browse\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.BrowseRestlet\" enabled=\"true\" name=\"browse\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/browse</urlPattern>\n        <urlPattern>/{repo}/browse</urlPattern>\n        <urlPattern>/{repo}/{docid}/browse</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repoId}/{docId}/export\n      =&gt; export a document and possibly associated tree\n\n      GET /nuxeo/restAPI/{repoId}/{docId}/exportSingle\n      =&gt; export a single document\n\n      GET /nuxeo/restAPI/{repoId}/{docId}/exportTree\n      =&gt; export a document tree\n\n      Associated GET parameters are :\n      - format : xml/zip\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.ExportRestlet\" enabled=\"true\" name=\"export\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/export</urlPattern>\n        <urlPattern>/{repo}/{docid}/exportSingle</urlPattern>\n        <urlPattern>/{repo}/{docid}/exportTree</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows lock manipulation via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/lock\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/unlock\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/status\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/state\n      LOCK /nuxeo/restAPI/{repoId}/{docId}/Locking\n      UNLOCK /nuxeo/restAPI/{repoId}/{docId}/Locking\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.LockingRestlet\" enabled=\"true\" name=\"locking\" useConversation=\"false\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/Locking</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile\n      or equivalently with optional query parameters:\n      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile?schema=file&amp;blobField=content&amp;filenameField=filename\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DownloadFileRestlet\" enabled=\"true\" name=\"downloadFileRestlet\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/downloadFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Upload a file in an existing document\n      POST /nuxeo/restAPI/{repo}/{docid}/{filename}/uploadFile\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UploadFileRestlet\" enabled=\"true\" name=\"uploadFileRestlet\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/{filename}/uploadFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument\n      or equivalently with optional query paramaters:\n      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument?docType=File\n      or\n      POST /nuxeo/restAPI/{repo}/{parentdocid}/createDocument\n      with arguments with initial values of the documents fields as string valued properties\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.CreateDocumentRestlet\" enabled=\"true\" name=\"createDocumentRestlet\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{parentdocid}/createDocument</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows deleting documents via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/deleteDocumentRestlet\n      GET /nuxeo/restAPI/{repoId}/{docId}/delete\n      GET /nuxeo/restAPI/{repoId}/deleteDocumentByPath?path=/default-domain/workspaces/doc1\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DeleteDocumentRestlet\" enabled=\"true\" name=\"deleteDocumentRestlet\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/deleteDocumentRestlet</urlPattern>\n        <urlPattern>/{repo}/{docid}/delete</urlPattern>\n        <urlPattern>/{repo}/deleteDocumentByPath</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows to update document properties via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/updateDocumentRestlet?prop1=value1\n      GET /nuxeo/restAPI/{repoId}/{docId}/update?prop1=value1\n      example : http://127.0.0.1:8080/nuxeo/restAPI/default/1fee4b3e-8b8e-494e-b0a5-eef5113fb5a7/updateDocumentRestlet?dublincore:description=No%20comment\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UpdateDocumentRestlet\" enabled=\"true\" name=\"updateDocumentRestlet\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/updateDocumentRestlet</urlPattern>\n        <urlPattern>/{repo}/{docid}/update</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/creationContainerList\n      or equivalently with optional query paramaters (where docType is the\n      type of the document to create):\n      GET /nuxeo/restAPI/creationContainerList?docType=File\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.CreationContainerListRestlet\" enabled=\"true\" name=\"creationFolderListRestlet\" useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/creationContainerList</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/opensearch?q=keywords\n\n      Perform a document search on the ecm:fulltext index and return the\n      results as a RSS 2.0 file with opensearch.org metadata\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.OpenSearchRestlet\" enabled=\"true\" name=\"openSearchRestlet\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/opensearch</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/directoryCacheInvalidate\n      GET /nuxeo/restAPI/directoryCacheInvalidate?directory=userDirectory&amp;directory=groupDirectory\n\n      Invalidate the cache of the requested directories or of all directories if not directory name is given as parameter.\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DirectoryCacheRestlet\" enabled=\"true\" name=\"directoryCache\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/directoryCacheInvalidate</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/systemLog?token=1234&amp;level=INFO&amp;message=something\n\n      Log something in the system logs of the server. The token has to match\n      the system property org.nuxeo.systemlog.token.\n    </documentation>\n    <restletPlugin class=\"org.nuxeo.ecm.platform.ui.web.restAPI.SystemLogRestlet\" enabled=\"true\" name=\"systemLog\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/systemLog</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.restAPI.contrib",
          "name": "org.nuxeo.ecm.platform.ui.web.restAPI.contrib",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.restAPI.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\"\n      point=\"restlets\">\n\n    <documentation>\n      Create a File document via upload\n      POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload\n    </documentation>\n    <restletPlugin\n        name=\"upload\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UploadRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/{filename}/upload</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Restlet for uploading a file via the Plugin (linked to FileManager)\n      (ie create a document from a file)\n      POST /nuxeo/restAPI/{repoId}/{docId}/pluginUpload/{path}\n      POST /nuxeo/restAPI/{repoId}/{docId}/createFromFile/{path}\n    </documentation>\n    <restletPlugin\n        name=\"pluginUpload\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.PluginUploadRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\"\n        useConversation=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern>\n        <urlPattern>/{repo}/{docid}/createFromFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Simple restlet to browse content\n      GET /nuxeo/restAPI/browse\n      GET /nuxeo/restAPI/{repoId}/browse\n      GET /nuxeo/restAPI/{repoId}/{docId}/browse\n    </documentation>\n    <restletPlugin\n        name=\"browse\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.BrowseRestlet\"\n        enabled=\"true\"\n        useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/browse</urlPattern>\n        <urlPattern>/{repo}/browse</urlPattern>\n        <urlPattern>/{repo}/{docid}/browse</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repoId}/{docId}/export\n      => export a document and possibly associated tree\n\n      GET /nuxeo/restAPI/{repoId}/{docId}/exportSingle\n      => export a single document\n\n      GET /nuxeo/restAPI/{repoId}/{docId}/exportTree\n      => export a document tree\n\n      Associated GET parameters are :\n      - format : xml/zip\n    </documentation>\n    <restletPlugin\n        name=\"export\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.ExportRestlet\"\n        enabled=\"true\"\n        useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/export</urlPattern>\n        <urlPattern>/{repo}/{docid}/exportSingle</urlPattern>\n        <urlPattern>/{repo}/{docid}/exportTree</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows lock manipulation via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/lock\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/unlock\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/status\n      GET /nuxeo/restAPI/{repoId}/{docId}/Locking/state\n      LOCK /nuxeo/restAPI/{repoId}/{docId}/Locking\n      UNLOCK /nuxeo/restAPI/{repoId}/{docId}/Locking\n    </documentation>\n    <restletPlugin\n        name=\"locking\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.LockingRestlet\"\n        enabled=\"true\"\n        useSeam=\"false\"\n        useConversation=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/Locking</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile\n      or equivalently with optional query parameters:\n      GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile?schema=file&amp;blobField=content&amp;filenameField=filename\n    </documentation>\n    <restletPlugin\n        name=\"downloadFileRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DownloadFileRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/downloadFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Upload a file in an existing document\n      POST /nuxeo/restAPI/{repo}/{docid}/{filename}/uploadFile\n    </documentation>\n    <restletPlugin\n        name=\"uploadFileRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UploadFileRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/{filename}/uploadFile</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument\n      or equivalently with optional query paramaters:\n      GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument?docType=File\n      or\n      POST /nuxeo/restAPI/{repo}/{parentdocid}/createDocument\n      with arguments with initial values of the documents fields as string valued properties\n    </documentation>\n    <restletPlugin\n        name=\"createDocumentRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.CreateDocumentRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{parentdocid}/createDocument</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows deleting documents via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/deleteDocumentRestlet\n      GET /nuxeo/restAPI/{repoId}/{docId}/delete\n      GET /nuxeo/restAPI/{repoId}/deleteDocumentByPath?path=/default-domain/workspaces/doc1\n    </documentation>\n    <restletPlugin\n        name=\"deleteDocumentRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DeleteDocumentRestlet\"\n        enabled=\"true\"\n        useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/deleteDocumentRestlet</urlPattern>\n        <urlPattern>/{repo}/{docid}/delete</urlPattern>\n        <urlPattern>/{repo}/deleteDocumentByPath</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      Allows to update document properties via Restlet API:\n      GET /nuxeo/restAPI/{repoId}/{docId}/updateDocumentRestlet?prop1=value1\n      GET /nuxeo/restAPI/{repoId}/{docId}/update?prop1=value1\n      example : http://127.0.0.1:8080/nuxeo/restAPI/default/1fee4b3e-8b8e-494e-b0a5-eef5113fb5a7/updateDocumentRestlet?dublincore:description=No%20comment\n    </documentation>\n    <restletPlugin\n        name=\"updateDocumentRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.UpdateDocumentRestlet\"\n        enabled=\"true\"\n        useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/{repo}/{docid}/updateDocumentRestlet</urlPattern>\n        <urlPattern>/{repo}/{docid}/update</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/creationContainerList\n      or equivalently with optional query paramaters (where docType is the\n      type of the document to create):\n      GET /nuxeo/restAPI/creationContainerList?docType=File\n    </documentation>\n    <restletPlugin\n        name=\"creationFolderListRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.CreationContainerListRestlet\"\n        enabled=\"true\"\n        useSeam=\"true\">\n      <urlPatterns>\n        <urlPattern>/creationContainerList</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/opensearch?q=keywords\n\n      Perform a document search on the ecm:fulltext index and return the\n      results as a RSS 2.0 file with opensearch.org metadata\n    </documentation>\n    <restletPlugin name=\"openSearchRestlet\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.OpenSearchRestlet\"\n        enabled=\"true\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/opensearch</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/directoryCacheInvalidate\n      GET /nuxeo/restAPI/directoryCacheInvalidate?directory=userDirectory&amp;directory=groupDirectory\n\n      Invalidate the cache of the requested directories or of all directories if not directory name is given as parameter.\n    </documentation>\n    <restletPlugin name=\"directoryCache\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.DirectoryCacheRestlet\"\n        enabled=\"true\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/directoryCacheInvalidate</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n    <documentation>\n      GET /nuxeo/restAPI/systemLog?token=1234&amp;level=INFO&amp;message=something\n\n      Log something in the system logs of the server. The token has to match\n      the system property org.nuxeo.systemlog.token.\n    </documentation>\n    <restletPlugin name=\"systemLog\"\n        class=\"org.nuxeo.ecm.platform.ui.web.restAPI.SystemLogRestlet\"\n        enabled=\"true\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/systemLog</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/restAPI-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.EventService--listeners",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.ui.jsf.reload/Contributions/org.nuxeo.ecm.ui.jsf.reload--listeners",
              "id": "org.nuxeo.ecm.ui.jsf.reload--listeners",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.EventService",
                "name": "org.nuxeo.runtime.EventService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"listeners\" target=\"org.nuxeo.runtime.EventService\">\n    <listener class=\"org.nuxeo.ecm.platform.ui.web.reload.NuxeoJSFReloadHandler\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.ui.jsf.reload",
          "name": "org.nuxeo.ecm.ui.jsf.reload",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.ui.jsf.reload\">\n\n  <extension target=\"org.nuxeo.runtime.EventService\" point=\"listeners\">\n    <listener class=\"org.nuxeo.ecm.platform.ui.web.reload.NuxeoJSFReloadHandler\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/reload-jsf-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.web.common.requestcontroller.service.RequestControllerService--filterConfig",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib/Contributions/org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib--filterConfig",
              "id": "org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib--filterConfig",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.web.common.requestcontroller.service.RequestControllerService",
                "name": "org.nuxeo.ecm.platform.web.common.requestcontroller.service.RequestControllerService",
                "type": "service"
              },
              "version": "7.10-HF07",
              "xml": "<extension point=\"filterConfig\" target=\"org.nuxeo.ecm.platform.web.common.requestcontroller.service.RequestControllerService\">\n\n    <filterConfig name=\"SeamRemoting\" synchonize=\"false\" transactional=\"true\">\n      <pattern>/nuxeo/seam/resource/remoting/execute.*</pattern>\n    </filterConfig>\n\n    <filterConfig cacheTime=\"3600\" cached=\"true\" name=\"SeamRemotingInterface\">\n     <pattern>/nuxeo/seam/resource/remoting/interface.js.*</pattern>\n    </filterConfig>\n\n    <filterConfig cacheTime=\"3600\" cached=\"true\" name=\"tinymce\">\n      <pattern>/nuxeo/tinymce.*</pattern>\n    </filterConfig>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui/org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib",
          "name": "org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib",
          "requirements": [],
          "services": [],
          "version": "7.10-HF07",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.RequestControllerService.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.web.common.requestcontroller.service.RequestControllerService\"\n    point=\"filterConfig\">\n\n    <filterConfig name=\"SeamRemoting\" transactional=\"true\" synchonize=\"false\">\n      <pattern>${org.nuxeo.ecm.contextPath}/seam/resource/remoting/execute.*</pattern>\n    </filterConfig>\n\n    <filterConfig name=\"SeamRemotingInterface\" cached=\"true\" cacheTime=\"3600\">\n     <pattern>${org.nuxeo.ecm.contextPath}/seam/resource/remoting/interface.js.*</pattern>\n    </filterConfig>\n\n    <filterConfig name=\"tinymce\" cached=\"true\" cacheTime=\"3600\">\n      <pattern>${org.nuxeo.ecm.contextPath}/tinymce.*</pattern>\n    </filterConfig>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/request-controler-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-ui-web-7.10-HF07.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/org.nuxeo.ecm.platform.ui",
      "id": "org.nuxeo.ecm.platform.ui",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_60\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 0.0.0.SNAPSHOT\r\nExport-Package: org.nuxeo.ecm.platform.ui.web.api,org.nuxeo.ecm.platfo\r\n rm.ui.web.binding,org.nuxeo.ecm.platform.ui.web.cache,org.nuxeo.ecm.p\r\n latform.ui.web.component,org.nuxeo.ecm.platform.ui.web.component.date\r\n ,org.nuxeo.ecm.platform.ui.web.component.document,org.nuxeo.ecm.platf\r\n orm.ui.web.component.editor,org.nuxeo.ecm.platform.ui.web.component.f\r\n ile,org.nuxeo.ecm.platform.ui.web.component.list,org.nuxeo.ecm.platfo\r\n rm.ui.web.converter,org.nuxeo.ecm.platform.ui.web.directory,org.nuxeo\r\n .ecm.platform.ui.web.htmleditor.api,org.nuxeo.ecm.platform.ui.web.htm\r\n leditor.service,org.nuxeo.ecm.platform.ui.web.invalidations,org.nuxeo\r\n .ecm.platform.ui.web.lifecycle,org.nuxeo.ecm.platform.ui.web.model,or\r\n g.nuxeo.ecm.platform.ui.web.model.impl,org.nuxeo.ecm.platform.ui.web.\r\n multipart,org.nuxeo.ecm.platform.ui.web.pagination,org.nuxeo.ecm.plat\r\n form.ui.web.pathelements,org.nuxeo.ecm.platform.ui.web.rest,org.nuxeo\r\n .ecm.platform.ui.web.rest.api,org.nuxeo.ecm.platform.ui.web.rest.desc\r\n riptors,org.nuxeo.ecm.platform.ui.web.rest.services,org.nuxeo.ecm.pla\r\n tform.ui.web.restAPI,org.nuxeo.ecm.platform.ui.web.restAPI.service,or\r\n g.nuxeo.ecm.platform.ui.web.richfaces,org.nuxeo.ecm.platform.ui.web.s\r\n eamremoting,org.nuxeo.ecm.platform.ui.web.shield,org.nuxeo.ecm.platfo\r\n rm.ui.web.tag.fn,org.nuxeo.ecm.platform.ui.web.tag.handler,org.nuxeo.\r\n ecm.platform.ui.web.tag.jsf,org.nuxeo.ecm.platform.ui.web.tag.jsf.htm\r\n l,org.nuxeo.ecm.platform.ui.web.util,org.nuxeo.ecm.platform.ui.web.ut\r\n il.files\r\nPrivate-Package: .\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Name: Nuxeo ECM Web Platform Fragment\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nRequire-Bundle: org.nuxeo.ecm.platform.mimetype.api\r\nNuxeo-Component: OSGI-INF/authentication-contrib.xml,OSGI-INF/restAPI-\r\n framework.xml,OSGI-INF/restAPI-contrib.xml,OSGI-INF/urlservice-framew\r\n ork.xml,OSGI-INF/urlservice-contrib.xml,OSGI-INF/htmleditor-framework\r\n .xml,OSGI-INF/htmleditor-contrib.xml,OSGI-INF/request-controler-contr\r\n ib.xml,OSGI-INF/seamremotingjsbuilder-framework.xml,OSGI-INF/reload-j\r\n sf-contrib.xml,OSGI-INF/username-cache-config.xml,OSGI-INF/jsfblobupl\r\n oader-service.xml,OSGI-INF/marshallers-contrib.xml,OSGI-INF/jsfconfig\r\n uration-properties.xml\r\nImport-Package: com.noelios.restlet.ext.servlet;resolution:=optional,c\r\n om.noelios.restlet.http;resolution:=optional,com.sun.facelets;resolut\r\n ion:=optional,com.sun.facelets.component;resolution:=optional,com.sun\r\n .facelets.el;resolution:=optional,com.sun.facelets.tag;resolution:=op\r\n tional,com.sun.facelets.tag.jsf;resolution:=optional,com.sun.facelets\r\n .tag.jsf.html;resolution:=optional,com.sun.facelets.util;resolution:=\r\n optional,com.sun.faces.lifecycle;resolution:=optional,com.sun.faces.r\r\n enderkit.html_basic;resolution:=optional,com.sun.faces.util;resolutio\r\n n:=optional,javax.annotation;version=\"1.0\",javax.ejb,javax.el,javax.f\r\n aces,javax.faces.application,javax.faces.component,javax.faces.compon\r\n ent.html,javax.faces.context,javax.faces.convert,javax.faces.el,javax\r\n .faces.event,javax.faces.lifecycle,javax.faces.model,javax.faces.rend\r\n er,javax.faces.validator,javax.faces.webapp,javax.interceptor,javax.n\r\n aming,javax.security.auth.login,javax.servlet;resolution:=optional,ja\r\n vax.servlet.http,javax.servlet.jsp.tagext;resolution:=optional,javax.\r\n transaction;version=\"1.1\",org.ajax4jsf.javascript;resolution:=optiona\r\n l,org.ajax4jsf.resource;resolution:=optional,org.ajax4jsf.webapp.tagl\r\n ib;resolution:=optional,org.apache.commons.fileupload,org.apache.comm\r\n ons.fileupload.disk,org.apache.commons.fileupload.servlet,org.apache.\r\n commons.lang,org.apache.commons.logging,org.dom4j,org.dom4j.dom,org.d\r\n om4j.io,org.dom4j.tree;version=\"1.6.1\",org.jboss.seam,org.jboss.seam.\r\n annotations;resolution:=optional,org.jboss.seam.annotations.intercept\r\n ;resolution:=optional,org.jboss.seam.annotations.remoting;resolution:\r\n =optional,org.jboss.seam.annotations.web;resolution:=optional,org.jbo\r\n ss.seam.contexts;resolution:=optional,org.jboss.seam.core,org.jboss.s\r\n eam.faces,org.jboss.seam.intercept,org.jboss.seam.mock,org.jboss.seam\r\n .servlet,org.jboss.seam.transaction,org.jboss.seam.ui.component;resol\r\n ution:=optional,org.jboss.seam.ui.component.html;resolution:=optional\r\n ,org.jboss.seam.util,org.jboss.seam.web,org.nuxeo.common.utils,org.nu\r\n xeo.common.utils.i18n,org.nuxeo.common.xmap.annotation,org.nuxeo.ecm.\r\n core;api=split,org.nuxeo.ecm.core.api;api=split,org.nuxeo.ecm.core.ap\r\n i.facet,org.nuxeo.ecm.core.api.impl,org.nuxeo.ecm.core.api.impl.blob,\r\n org.nuxeo.ecm.core.api.model,org.nuxeo.ecm.core.api.model.impl,org.nu\r\n xeo.ecm.core.api.repository,org.nuxeo.ecm.core.api.security,org.nuxeo\r\n .ecm.core.io,org.nuxeo.ecm.core.io.impl,org.nuxeo.ecm.core.io.impl.pl\r\n ugins,org.nuxeo.ecm.core.query.sql,org.nuxeo.ecm.core.query.sql.model\r\n ,org.nuxeo.ecm.core.schema,org.nuxeo.ecm.core.schema.types,org.nuxeo.\r\n ecm.core.search.api.client.querymodel,org.nuxeo.ecm.core.utils,org.nu\r\n xeo.ecm.directory;api=split,org.nuxeo.ecm.directory.api,org.nuxeo.ecm\r\n .platform.actions,org.nuxeo.ecm.platform.el,org.nuxeo.ecm.platform.fi\r\n lemanager.api,org.nuxeo.ecm.platform.mimetype,org.nuxeo.ecm.platform.\r\n mimetype.interfaces,org.nuxeo.ecm.platform.types,org.nuxeo.ecm.platfo\r\n rm.types.adapter,org.nuxeo.ecm.platform.ui.web.auth,org.nuxeo.ecm.pla\r\n tform.ui.web.auth.plugins,org.nuxeo.ecm.platform.ui.web.model,org.nux\r\n eo.ecm.platform.ui.web.model.impl,org.nuxeo.ecm.platform.url,org.nuxe\r\n o.ecm.platform.url.api,org.nuxeo.ecm.platform.url.codec,org.nuxeo.ecm\r\n .platform.usermanager,org.nuxeo.ecm.platform.util,org.nuxeo.ecm.platf\r\n orm.web.common.exceptionhandling,org.nuxeo.ecm.platform.web.common.ex\r\n ceptionhandling.service,org.nuxeo.ecm.platform.web.common.resources,o\r\n rg.nuxeo.ecm.platform.web.common.vh,org.nuxeo.runtime,org.nuxeo.runti\r\n me.api,org.nuxeo.runtime.model,org.nuxeo.runtime.transaction,org.rest\r\n let;resolution:=optional,org.restlet.data;resolution:=optional,org.re\r\n stlet.resource;resolution:=optional,org.restlet.util;resolution:=opti\r\n onal,org.w3c.dom,org.xml.sax\r\nBundle-SymbolicName: org.nuxeo.ecm.platform.ui;singleton:=true\r\nBundle-Activator: org.nuxeo.ecm.platform.ui.web.UIWebActivator\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "7.10-HF07"
    }
  ],
  "creationDate": 1664792867649,
  "key": "Nuxeo Platform LTS 2015-7.10",
  "name": "Nuxeo Platform LTS 2015",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1447023600000,
  "version": "7.10"
}